#ifndef _CODES_H__
#define _CODES_H__

#define PLATFORM_BACKPACK 0
#define PLATFORM_DGC 1

#define AUDIO_PLAY 0
#define AUDIO_SAY 1

#define IMU_SET_PARAMETER 0
#define IMU_START_CALIB 1
#define IMU_SET_ORIGIN 2

#define GRABBER_SET_PARAMETER 0
#define GRABBER_STOP 1
#define GRABBER_RESUME 2

#define FEATURES_PARAM_CHANGED 0
#define FEATURES_STOP 1
#define FEATURES_RESUME 2
#define FEATURES_SAVE_TO_PGM 3
#define FEATURES_DIST_MODE_EUC 4
#define FEATURES_DIST_MODE_NCC 5
#define FEATURES_DIST_MODE_UNK 6

#define CLASS_SET_PARAMETER 0
#define CLASS_RESET 3
#define CLASS_NEW_NODE 23
#define CLASS_FORCE_NODE 24
#define CLASS_START_EXPLORATION 25
#define CLASS_START_NAVIGATION 26
#define CLASS_CHANGE_DEMO_LEVEL 27
#define CLASS_CHECKPOINT_REVISIT 28
#define CLASS_CHECKPOINT_CREATE 29
#define CLASS_SET_REFERENCE_POINT 30
#define CLASS_SET_NODE_LABEL 31
#define CLASS_PUBLISH_LABELS 32
#define CLASS_GOTO_NODE 33
#define CLASS_SET_UTIME1 34
#define CLASS_SET_UTIME2 35
#define CLASS_RUN_MATCHING_ANALYSIS 36
#define CLASS_RUN_CALIBRATION 37
#define CLASS_START_CALIBRATION 38
#define CLASS_UI_VIDEO_MODE_CHANGED 39
#define CLASS_CHECK_CALIBRATION 40
#define CLASS_STOP_CHECK_CALIBRATION 41
#define CLASS_ADD_NODE 43
#define CLASS_START_HOMING 44
#define CLASS_BLIT_REQUEST 45
#define CLASS_START_REPLAY 46
#define CLASS_LOAD_MAP 47
#define CLASS_STANDBY 48
#define CLASS_DUMP_FEATURES 49
#define CLASS_END_EXPLORATION 50
#define CLASS_CALIBRATION_STEP 51
#define CLASS_USER_WHERE_NEXT 52
#define CLASS_USER_LOST 53
#define CLASS_USER_UNCLEAR_GUIDANCE 54

#define NAV_DIR_AT_NODE 0
#define NAV_DIR_ON_EDGE 1
#define NAV_WHICH_NODE 2

#define VIEWER_START_STOP_RECORDING 0
#define VIEWER_SAVE_IMAGE 1
#define VIEWER_SNAPSHOT 2
#define VIEWER_SWITCH_TO_VIDEO 3
#define VIEWER_SWITCH_TO_MAP 4

#define PHONE_WHICH_NODE_CONFIRM 0
#define PHONE_ON_EDGE_CONFIRM 1

#define LOGPLAYER_START_REPLAY 0
#define LOGPLAYER_STOP_REPLAY 1
#define LOGPLAYER_PAUSE_RESUME 2
#define LOGPLAYER_FORWARD 3
#define LOGPLAYER_REWIND 4

#define DATAMGR_SET 0
#define DATAMGR_REQ 1
#define DATAMGR_REM 2
#define DATAMGR_LST 3

#define MONITOR_SOUND_PARAM_CHANGED 0
#define MONITOR_SHUTDOWN_SYSTEM 1
#define MONITOR_RESTART_SYSTEM 2

#define UI_STATE 0

#endif
